package com.proyemp.entity.classes;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the gastos database table.
 * 
 */
@Entity
@Table(name="gastos")
public class Gasto implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="gastos_id")
	private Integer gastosId;

	private String descripcion;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_actualizacion")
	private Date fechaActualizacion;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_gasto")
	private Date fechaGasto;

	private Integer monto;

	@Column(name="usuario_modificacion")
	private String usuarioModificacion;

	//bi-directional many-to-one association to Empleado
    @ManyToOne
	@JoinColumn(name="numero_empleado")
	private Empleado empleado;

	//bi-directional many-to-one association to Moneda
    @ManyToOne
	@JoinColumn(name="id_moneda")
	private Moneda moneda;

	//bi-directional many-to-one association to TipoGasto
    @ManyToOne
	@JoinColumn(name="tipo_gastos_id")
	private TipoGasto tipoGasto;

	//bi-directional many-to-one association to GastosPrograma
	@OneToMany(mappedBy="gasto")
	private Set<GastosPrograma> gastosProgramas;

	//bi-directional many-to-one association to MaterialesGrafico
	@OneToMany(mappedBy="gasto")
	private Set<MaterialesGrafico> materialesGraficos;

    public Gasto() {
    }

	public Integer getGastosId() {
		return this.gastosId;
	}

	public void setGastosId(Integer gastosId) {
		this.gastosId = gastosId;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Date getFechaActualizacion() {
		return this.fechaActualizacion;
	}

	public void setFechaActualizacion(Date fechaActualizacion) {
		this.fechaActualizacion = fechaActualizacion;
	}

	public Date getFechaGasto() {
		return this.fechaGasto;
	}

	public void setFechaGasto(Date fechaGasto) {
		this.fechaGasto = fechaGasto;
	}

	public Integer getMonto() {
		return this.monto;
	}

	public void setMonto(Integer monto) {
		this.monto = monto;
	}

	public String getUsuarioModificacion() {
		return this.usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public Empleado getEmpleado() {
		return this.empleado;
	}

	public void setEmpleado(Empleado empleado) {
		this.empleado = empleado;
	}
	
	public Moneda getMoneda() {
		return this.moneda;
	}

	public void setMoneda(Moneda moneda) {
		this.moneda = moneda;
	}
	
	public TipoGasto getTipoGasto() {
		return this.tipoGasto;
	}

	public void setTipoGasto(TipoGasto tipoGasto) {
		this.tipoGasto = tipoGasto;
	}
	
	public Set<GastosPrograma> getGastosProgramas() {
		return this.gastosProgramas;
	}

	public void setGastosProgramas(Set<GastosPrograma> gastosProgramas) {
		this.gastosProgramas = gastosProgramas;
	}
	
	public Set<MaterialesGrafico> getMaterialesGraficos() {
		return this.materialesGraficos;
	}

	public void setMaterialesGraficos(Set<MaterialesGrafico> materialesGraficos) {
		this.materialesGraficos = materialesGraficos;
	}
	
}